import UIKit

@available(iOS 2.0, *)
extension QKC where AA :UIProgressView {
		// default is UIProgressViewStyleDefault
    open func progressViewStyle_qk_s(_ progressViewStyle:  UIProgressView.Style ) -> QKC<AA,YY,ZZ, UIProgressView.Style >{
		return link(next: progressViewStyle).then_QK { $0.value.progressViewStyle = progressViewStyle }
	}
    open func progressViewStyle_qk_g() -> QKC<AA,YY,ZZ, UIProgressView.Style >{
		 self +^ self.value.progressViewStyle
	}

		// 0.0 .. 1.0, default is 0.0. values outside are pinned.
    open func progress_qk_s(_ progress:  Float ) -> QKC<AA,YY,ZZ, Float >{
		return link(next: progress).then_QK { $0.value.progress = progress }
	}
    open func progress_qk_g() -> QKC<AA,YY,ZZ, Float >{
		 self +^ self.value.progress
	}

    @available(iOS 5.0, *)
    open func progressTintColor_qk_s(_ progressTintColor:  UIColor?) -> QKC<AA,YY,ZZ, UIColor?>{
		return link(next: progressTintColor).then_QK { $0.value.progressTintColor = progressTintColor }
	}
    @available(iOS 5.0, *)
    open func progressTintColor_qk_g() -> QKC<AA,YY,ZZ, UIColor?>{
		 self +^ self.value.progressTintColor
	}

    @available(iOS 5.0, *)
    open func trackTintColor_qk_s(_ trackTintColor:  UIColor?) -> QKC<AA,YY,ZZ, UIColor?>{
		return link(next: trackTintColor).then_QK { $0.value.trackTintColor = trackTintColor }
	}
    @available(iOS 5.0, *)
    open func trackTintColor_qk_g() -> QKC<AA,YY,ZZ, UIColor?>{
		 self +^ self.value.trackTintColor
	}

    @available(iOS 5.0, *)
    open func progressImage_qk_s(_ progressImage:  UIImage?) -> QKC<AA,YY,ZZ, UIImage?>{
		return link(next: progressImage).then_QK { $0.value.progressImage = progressImage }
	}
    @available(iOS 5.0, *)
    open func progressImage_qk_g() -> QKC<AA,YY,ZZ, UIImage?>{
		 self +^ self.value.progressImage
	}

    @available(iOS 5.0, *)
    open func trackImage_qk_s(_ trackImage:  UIImage?) -> QKC<AA,YY,ZZ, UIImage?>{
		return link(next: trackImage).then_QK { $0.value.trackImage = trackImage }
	}
    @available(iOS 5.0, *)
    open func trackImage_qk_g() -> QKC<AA,YY,ZZ, UIImage?>{
		 self +^ self.value.trackImage
	}

    @available(iOS 9.0, *)
    open func observedProgress_qk_s(_ observedProgress:  Progress?) -> QKC<AA,YY,ZZ, Progress?>{
		return link(next: observedProgress).then_QK { $0.value.observedProgress = observedProgress }
	}
    @available(iOS 9.0, *)
    open func observedProgress_qk_g() -> QKC<AA,YY,ZZ, Progress?>{
		 self +^ self.value.observedProgress
	}

    @available(iOS 5.0, *)
    open func setProgress_qk_f(_ progress: Float, animated: Bool) -> QKC<AA,YY,ZZ, Float>{
		 self +^ self.value.setProgress(progress, animated:animated) +^ progress
	}

}

